home *** CD-ROM | disk | FTP | other *** search
- Subject: SGI inventor Frequently Asked Questions (FAQ)
- Newsgroups: comp.sys.sgi.misc,comp.answers,news.answers
- From: sgi-faq@viz.tamu.edu (The SGI FAQ group)
- Date: 6 May 1994 06:00:39 GMT
-
- Archive-name: sgi/faq/inventor
- Last-modified: Sun May 1 10:47:20 CDT 1994
-
- SGI inventor Frequently Asked Questions (FAQ)
-
- This is one of the Silicon Graphics FAQ series, which consists of:
-
- SGI admin FAQ - IRIX system administration
- SGI apps FAQ - Applications & compilers
- SGI graphics FAQ - Graphics and user environment customization
- SGI hardware FAQ - Hardware
- SGI inventor FAQ - IRIS Inventor
- SGI misc FAQ - Introduction & miscellaneous information
- SGI performer FAQ - IRIS Performer
- SGI pointer FAQ - Pointer to the other FAQs
-
- Read the misc FAQ for information about the FAQs themselves. Each FAQ
- is posted to comp.sys.sgi.misc and to the news.answers and comp.answers
- newsgroups (whose purpose is to store FAQs) twice per month. If you
- can't find one of the FAQs with your news program, you can get it by
- anonymous FTP from one of these sites:
-
- rtfm.mit.edu:/pub/usenet/comp.sys.sgi.misc/
- rtfm.mit.edu:/pub/usenet/news.answers/sgi/faq/
- rtfm.mit.edu:/pub/usenet/comp.answers/sgi/faq/
- viz.tamu.edu:/pub/sgi/faq/
-
- Note that rtfm.mit.edu is home to many other FAQs and informational
- documents, and is a good place to look if you can't find an answer
- here. If you can't use FTP, send mail to mail-server@rtfm.mit.edu with
- the command 'send usenet/news.answers/ftp-list/faq' on a line by itself
- in the text, and it will send you a document describing how to FTP by
- mail. You can also read a hypertext version of the FAQs at
-
- http://www.cis.ohio-state.edu/hypertext/faq/usenet/sgi/top.html
-
- The SGI FAQs are freely distributable and we encourage wide circulation.
- The contents are accurate as far as we know, but the usual disclaimers
- apply. Please send additions and changes to sgi-faq@viz.tamu.edu.
-
- Topics covered in this FAQ:
- ---------------------------
- -1- What is Open Inventor?
- -2- What is IRIS Inventor?
- -3- Is Inventor a format for 3D data?
- -4- Can I use Inventor to create 3D objects?
- -5- Is Inventor a user interface toolkit?
- -6- Is there a performance cost using a software layer on top of GL?
- -7- Does Inventor require C++?
- -8- Does Inventor work with the GNU C++ compiler?
- -9- Does Inventor have a Fortran or Ada API?
- -10- Where can I get detailed, technical information on Inventor?
- -11- How much does Inventor cost?
- -12- How can I order Inventor software and/or documentation?
- -13- How can I learn Inventor Programming?
- -14- What version of Open Inventor runs on which version of IRIX?
- -15- Why isn't Open Inventor available on the VGX/PI/GTX or GT?
- -16- What new features are in Open Inventor that weren't in IRIS
- Inventor?
- -17- Will my IRIS Inventor programs stop working if I install Open
- Inventor?
- -18- How hard is it to port from IRIS Inventor to Open Inventor?
- -19- When I compile my Inventor program, I get an error in
- SoDebugError.h.
- -20- What version of IRIS Inventor runs on which version of IRIX?
- -21- Will I be automatically upgraded to Open Inventor if I have IRIS
- Inventor?
- -22- Why do I get errors compiling the Inventor sample programs?
-
- ----------------------------------------------------------------------
-
- Subject: -1- What is Open Inventor?
- Date: 30 Apr 94 15:45:00 CDT
-
- Open Inventor is an object-oriented 3D toolkit offering a comprehensive
- solution to interactive graphics programming problems. It presents a
- programming model based on a 3D scene database that dramatically simplifies
- graphics programming. It includes a rich set of objects such as cubes,
- polygons, text, materials, cameras, lights, trackballs, handle boxes, 3D
- viewers, and editors that speed up your programming time and extend your
- 3D programming capabilities.
-
- Open Inventor:
- o is built on top of OpenGL
- o defines a standard file format for 3D data interchange
- o introduces a simple event model for 3D interaction
- o provides animation objects called Engines
- o provides high performance object picking
- o is window system and platform independent
- o supports PostScript printing
- o encourages programmers to create new customized objects
- o is fun to use
-
- ------------------------------
-
- Subject: -2- What is IRIS Inventor?
- Date: 30 Apr 94 15:45:00 CDT
-
- IRIS Inventor was the first release of Inventor; it is also known as
- Inventor 1.0 (Open Inventor is Inventor 2.0). It is built on top of IRIS
- GL rather than OpenGL, and has fewer features.
-
- ------------------------------
-
- Subject: -3- Is Inventor a format for 3D data?
- Date: 30 Apr 94 15:45:00 CDT
-
- Inventor defines a powerful, extensible format for 3D objects and scenes.
- The Inventor format is the standard for 3D objects on Silicon Graphics
- machines, and may become the standard for all machines.
-
- However, Inventor is more than a 3D object file format; it is a complete
- toolkit for writing interactive, 3D applications.
-
- ------------------------------
-
- Subject: -4- Can I use Inventor to create 3D objects?
- Date: 30 Apr 94 15:45:00 CDT
-
- Inventor is for programmers writing 3D applications, and does not directly
- provide any way for users to create 3D objects. Several Inventor applications
- have been written that create 3D objects.
-
- Showcase 3.0, which is bundled with IRIX, is a fairly simple example. A much
- more sophisticated modeller called Movieola built on top of Inventor is
- available from Radiance Software International.
-
- ------------------------------
-
- Subject: -5- Is Inventor a user interface toolkit?
- Date: 30 Apr 94 15:45:00 CDT
-
- Yes and no. Inventor contains mostly 3D objects. There is little in the way
- of conventional user interface objects such as buttons, dialogs, and menus.
- However, Inventor includes a full-fledged event model, a framework designed
- for 2D or 3D user interaction, and some manipulator objects for 3D user
- interface building. Note that the Inventor Xt Component and Utility Library
- includes some traditional 2D user interface widgets.
-
- ------------------------------
-
- Subject: -6- Is there a performance cost using a software layer on
- top of GL?
- Date: 30 Apr 94 15:45:00 CDT
-
- Sometimes. Note that few GL programs achieve peak graphics performance. This
- is because most applications have natural application overhead, and also
- because many programmers lack a thorough understanding of the details and
- eccentricities of GL. If you are writing a simple display-only, immediate-mode
- GL program, then it will run faster using straight GL, but not much. However,
- if your program has scene traversal, interactivity, picking, bounding box
- calculations, and other object space tasks, then Inventor will perform better
- for you. This is because Inventor is specially tuned to make optimal use of
- GL on each SGI machine. Furthermore, Inventor supports render caching which
- results in peak GL performance in most cases.
-
- We have found that in many cases, Inventor programs run FASTER than the
- original GL program, and that the programmer productivity increases easily
- outweigh the overhead of the toolkit.
-
- ------------------------------
-
- Subject: -7- Does Inventor require C++?
- Date: 30 Apr 94 15:45:00 CDT
-
- No. You can use the C API and never see or use C++. However, subclassing to
- extend the toolkit does require C++.
-
- ------------------------------
-
- Subject: -8- Does Inventor work with the GNU C++ compiler?
- Date: 30 Apr 94 15:45:00 CDT
-
- No, Inventor requires SGI's C++ compiler. The GNU C++ compiler and SGI's C++
- compiler produce incompatible code, and Silicon Graphics does not ship an
- Inventor library compatible with GNU C++.
-
- ------------------------------
-
- Subject: -9- Does Inventor have a Fortran or Ada API?
- Date: 30 Apr 94 15:45:00 CDT
-
- No.
-
- ------------------------------
-
- Subject: -10- Where can I get detailed, technical information on
- Inventor?
- Date: 30 Apr 94 15:45:00 CDT
-
- The Inventor Mentor, written by Josie Wernecke, is published by Addison-Wesley
- and is available in technical bookstores (ISBN 0-201-62495-8).
-
- ------------------------------
-
- Subject: -11- How much does Inventor cost?
- Date: 30 Apr 94 15:45:00 CDT
-
- If you want to write Inventor applications on SGI machines, you need the
- Inventor developer's option. This option costs $995 for the Open Inventor
- release and $495 for the IRIS Inventor releases. There are no royalties for
- distributing applications based on Inventor.
-
- Every SGI machine is shipped with the libraries needed to run Inventor
- applications (they are part of the inventor_eoe installation subsystem);
- users that want to run Inventor applications on SGI machines do not need
- to pay anything extra.
-
- ------------------------------
-
- Subject: -12- How can I order Inventor software and/or documentation?
- Date: 30 Apr 94 15:45:00 CDT
-
- Call your local SGI sales representative or 1-800-800-7441 to order.
-
- ------------------------------
-
- Subject: -13- How can I learn Inventor Programming?
- Date: 30 Apr 94 15:45:00 CDT
-
- SGI Technical Education offers a week-long course in Inventor Programming.
- Call 1-800-800-4SGI to sign up.
-
- ------------------------------
-
- Subject: -14- What version of Open Inventor runs on which version of
- IRIX?
- Date: 30 Apr 94 15:45:00 CDT
-
- Inventor 2.0 runs on IRIX 5.2 and higher only.
-
- ------------------------------
-
- Subject: -15- Why isn't Open Inventor available on the VGX/PI/GTX or
- GT?
- Date: 30 Apr 94 15:45:00 CDT
-
- Open Inventor requires OpenGL, which is not currently available on older
- SGI machines.
-
- ------------------------------
-
- Subject: -16- What new features are in Open Inventor that weren't in
- IRIS Inventor?
- Date: 30 Apr 94 15:45:00 CDT
-
- Some of the main features that are new with Open Inventor are:
-
- Open Inventor Licensing
- Open Inventor 2.0 represents the first release of Inventor that
- is licensed to third parties to run on other platforms (e.g., Sun,
- HP).
- The Inventor Mentor and The Inventor Toolmaker
- Since Open Inventor has been licensed to run on other
- platforms, the programming guides have been published and
- distributed by Addison-Wesley Publishing Company. The
- books are typically available through bookstores that offer a
- good technical book selection. The Inventor Mentor is volume
- I of the programming guide and describes the fundamentals
- of Inventor programming (ISBN 0-201-62495-8). The
- Inventor Toolmaker is volume II and provides advanced
- information for programmers who want to extend Inventor.
- Automatic caching
- Open Inventor supports intelligent, automatic caching on the
- parts of the database that are not changing. Previously,
- caching was either `on' or `off' (set at SoSeparator nodes).
- Inventor 2.0 supports a third setting, `auto'. This
- SIGNIFICANTLY improves performance and simplifies
- programming.
- Error handling
- Inventor now supports a formal error handling system. Note
- that the API was not affected by this change. All Inventor
- error messages are now posted to an SoError class. The
- application can supply its own error handlers, thus making it
- possible to route error messages to dialogs, as well as stderr or
- stdout. All handlers are called by the SoError::handleError()
- method. When debugging, you can set a breakpoint on this
- method to stop right before an error is handled.
- Geometry primitives and SoCallbackAction
- A new feature has been added to the generic Inventor
- traversal action, SoCallbackAction, that allows for shapes to
- return primitives (triangles, lines, points, normals, texture
- coords, etc.) describing the object.
- Naming
- Nodes, paths, and engines can have names (strings)
- associated with them. There are methods on
- SoBase::setName() and getName() to set/get names. To search
- for objects by name, see SoNode::getByName(),
- SoPath::getByName(), and SoEngine::getByName(). Also, the
- SoSearchAction can now search based on the name.
- OpenGL rendering
- Open Inventor 2.0 uses OpenGL for all rendering; there are no
- calls to Iris GL in Inventor 2.0. If you have written derived
- node classes in 1.0, the Iris GL code must be re-written to
- OpenGL.
- Printing
- Printing has been completely reimplemented using OpenGL
- rendering to an off-screen image. All rendering features can
- now be printed (e.g. textures and transparency).
- Render Culling
- Inventor now supports object level culling to the viewport.
- Culling, like caching, is controlled by SoSeparators.
- Unknown nodes
- Inventor 2.0 reads unrecognized node classes from file and
- attempts to use them. When an unknown class is read,
- Inventor will search for an accompanying DSO file and use it,
- (uses environment variable LD_LIBRARY_PATH to search
- for file classname.so) If none is found, an SoUnknownNode or
- SoUnknownEngine is created and used instead.
-
- Inventor 2.0 also supports a special option for nodes called
- alternateRep. It can store a scene graph composed of standard
- Inventor nodes which will be rendered as a stand-in for your
- unrecognized node. During writing, the node or engine is
- written back out. Note that this mechanism works only with
- Inventor 2.0 files; unrecognized nodes in an Inventor 1.0 file
- will still generate a read error. This mechanism allows user
- subclassed nodes to be exportable, renderable, and re- usable.
-
- SoEngine
- A new class of objects used for animation and behavior.
- Engines are lightweight objects that are connected between
- nodes, the clock, and other engines to form interesting
- behaviorial objects (e.g. spinning windmill). Engines can be
- written to file along with the 3d scene.
-
- ------------------------------
-
- Subject: -17- Will my IRIS Inventor programs stop working if I install
- Open Inventor?
- Date: 30 Apr 94 15:45:00 CDT
-
- No. The Inventor 2.0 run-time system (inventor_eoe) contains a complete set
- of compatibility libraries that will allow existing IRIS Inventor applications
- to continue to work. If necessary, it is possible to install both the Inventor
- 2.0 and Inventor 1.1.2 development environments on the same machine; see the
- Inventor 2.0 release notes for details.
-
- ------------------------------
-
- Subject: -18- How hard is it to port from IRIS Inventor to Open
- Inventor?
- Date: 30 Apr 94 15:45:00 CDT
-
- Most Inventor programs will be fairly easy to port. The Inventor 2.0 release
- notes contain detailed information on converting your application. Most of your
- porting job will be fixing minor syntax changes (e.g. some length() methods
- were renamed getLength() for consistency with the rest of the toolkit) and
- fixing #include lines for files under /usr/include/Inventor that were moved
- around (e.g. all of the Xt components are now under /usr/include/Inventor/Xt).
-
- Inventor programs that contain a lot of IRIS GL code or that made extensive
- use of Inventor subclassing will be more difficult to port, since they will
- have to be ported to OpenGL and since the internal structure of Inventor
- underwent some major changes.
-
- ------------------------------
-
- Subject: -19- When I compile my Inventor program, I get an error in
- SoDebugError.h.
- Date: 30 Apr 94 15:45:00 CDT
-
- You, or something you #include, are #include'ing the IRIS GL header file
- (gl/gl.h). It does: "#define WARNING 2", which conflicts with the enum value
- called "WARNING" in SoDebugError. You cannot mix Open Inventor with IRIS GL
- anyway (because you cannot mix OpenGL with IRIS GL), so you should fix your
- program so it doesn't try to #include <gl/gl.h> it should use <GL/gl.h> the
- OpenGL include file.
-
- ------------------------------
-
- Subject: -20- What version of IRIS Inventor runs on which version of
- IRIX?
- Date: 30 Apr 94 15:45:00 CDT
-
-
- IRIX IRIS Inventor Version
- --------------------------------
- 3.3.* | (Inventor is not available for IRIX 3.*)
- 4.0.* | 1.0.1
- 5.0.1 | (bad release... do not use)
- 5.1.* | 1.1.2
- 5.2.* | Open Inventor 2.0 (1.1.2 on VGX/GTX/GT/PI)
-
- ------------------------------
-
- Subject: -21- Will I be automatically upgraded to Open Inventor if I
- have IRIS Inventor?
- Date: 30 Apr 94 15:45:00 CDT
-
- Customers with software maintenance contracts that have purchased the
- Inventor 1.0 developer's option will receive the Inventor 2.0 developer's
- option when they receive IRIX 5.2.
-
- ------------------------------
-
- Subject: -22- Why do I get errors compiling the Inventor sample
- programs?
- Date: 30 Apr 94 15:45:00 CDT
-
- Inventor 1.0.1 requires C++ version 2.*. If you have C++ version 3.* installed
- on your system, you must specify the -v2 flag to compile Inventor programs.
-
- Inventor 1.1.2 and Inventor 2.0 work with C++ 3.*.
-
- ------------------------------
-
- End of sgi/faq/inventor Digest
- ******************************
- --
- The SGI FAQ group sgi-faq@viz.tamu.edu
- Finger us for info on the SGI FAQs, or look in viz.tamu.edu:/pub/sgi.
-
-